<?php
class Login extends MY_Controller {
	// Datos para pasar a las vistas
	var $pageTitle = 'Login';
	
	public function __construct()
    {
    	parent::__construct();
	}
	
	public function index($view = '', $dataView = array())
	{
		parent::_loadViews($this->template->getHomeView(), $dataView);
	}
	
	
	private function _loadLoginForm($data = array())
	{
		parent::_loadViews($this->template->getLoginView(), $data);
	}
	
	public function validarUsuario()
	{
		$dataView[''] = array();

		$obj_usuario = new Usuario();
		$obj_usuario->where('nombre_usuario', $this->input->post('txt_usuario'));
		$obj_usuario->limit(1);
		$obj_usuario->get();

		$usuario_logueado = FALSE;
		if($obj_usuario->exists()) {
			$this->load->library('util_encriptar');
			$clave_ingresada = $this->input->post('txt_clave');
			$clave_encriptada = $this->util_encriptar->encrypt($clave_ingresada, $obj_usuario->clave_encriptacion);

			#Encontró un usuario con el nombre especificado. Ahora se valida la clave
			if($obj_usuario->clave === $clave_encriptada) {
				#Usuario validado, cargo sus datos en la variable de sesión
				$_SESSION['login'] = TRUE;
				$_SESSION[$this->template->getProyectSessionName()] = 'prevet';
				$_SESSION[$this->template->getIdUserSessionName()] = $obj_usuario->id;
				$obj_usuario->rol->get();
				$_SESSION[$this->template->getRolSessionName()] = $obj_usuario->rol->nombre;
				$_SESSION[$this->template->getUsernameSessionName()] = $obj_usuario->nombre_usuario;
				
				$obj_permiso = new Permiso();
				$obj_permiso->where('rol_id', $obj_usuario->rol_id);
				$_SESSION[$this->template->getPermissionSessionName()] = $obj_permiso->get_iterated();

				$usuario_logueado = TRUE;
			}
			else $dataView['error'] = 'Clave incorrecta';
		}
		else $dataView['error'] = 'El usuario no existe o no está activo';

		if($usuario_logueado) redirect('afiliados/ver_todos');
		else parent::_loadViews($this->template->getHomeView(), $dataView);
	}
	
	public function logout()
    {
		session_unset();
        session_destroy();
        $this->index();
    }
}